package com.talent.jiwen.http.api;

import com.talent.jiwen.http.common.HttpResult;
import com.talent.jiwen.http.result.tiku.DifficultyBean;
import com.talent.jiwen.http.result.tiku.GradeBean;
import com.talent.jiwen.http.result.tiku.Question;
import com.talent.jiwen.http.result.tiku.QuestionType;
import com.talent.jiwen.http.result.tiku.SectionBean;
import com.talent.jiwen.http.result.tiku.SubjectBean;
import com.talent.jiwen.http.result.tiku.VersionBean;

import java.util.List;
import java.util.Map;

import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;

/**
 * Created by chenmowen on 2017/8/5.
 *
 * 配合RxJava 使用，更改定义的接口，返回值不再是一个Call ,而是返回的一个Observble.
 */

public interface TiKuApi {

    /**科目选择
     *  初中：6
     *  小学：7
     *
     * @param xueke
     * @return
     */
    @FormUrlEncoded
    @POST("Kecen/all/")
    Observable<HttpResult<List<SubjectBean>>> getSubject(@Field("xueke") String xueke);//学科

    @FormUrlEncoded
    @POST("Banben/all/")
    Observable<HttpResult<List<VersionBean>>> getBanben(@Field("kecen_id") String id);//教材版本

    @FormUrlEncoded
    @POST("Zangjie/getlianji/")
    Observable<HttpResult<List<GradeBean>>> getGrade(@FieldMap Map<String, String> map);//获取年级

    @FormUrlEncoded
    @POST("Zangjie/get_by_lianji/")
    Observable<HttpResult<SectionBean>> getSection(@Field("lianji") String map);//获取章节内容

    @FormUrlEncoded
    @POST("Tixin/all/")
    Observable<HttpResult<List<QuestionType>>> getQuestionType(@FieldMap Map<String, String> map);//获取题型

    @FormUrlEncoded
    @POST("Landu/all/")
    Observable<HttpResult<List<DifficultyBean>>> getDifficulty(@FieldMap Map<String, String> map);//获取难易程度
//
//    @FormUrlEncoded
//    @POST("Timus/gettimus/")
//    Observable<HttpResult<Question>> getQuestion(@FieldMap HashMap<String, String> map);//题目
//
//    @FormUrlEncoded
//    @POST("Timus/paper/")
//    Observable<HttpResult<List<Question.DataBean>>> getPaper(@FieldMap HashMap<String, String> map);//题目
//
//    @FormUrlEncoded
//    @POST("Timus/gtms_class/")
//    Observable<HttpResult<List<Question.DataBean>>> getMsClass(@FieldMap HashMap<String, String> map);//题目
//
    @FormUrlEncoded
    @POST("Timus/gettimus_by_ids/")
    Observable<HttpResult<List<Question.DataBean>>> getQuestionByIds(@Field("ids") String ids);//根据Ids获取题目
//
//    @FormUrlEncoded
//    @POST("Timus/gettimus_by_ids/")
//    Observable<HttpResult<Question>> getQuestionById(@Field("ids") String ids);//根据Id获取题目


}
